// 负责管理所有的自定义指令文件
// 导出一个常量，这个常量是一个对象
export const imagerror = {
  inserted(dom, option) {
    // 由于封装的自定义指令作用在图片标签上，这个dom参数代表的图片的dom
    // 当图片地址报错的时候就会触发一个onerror事件，图片不报错就不会触发这个事件
    // 两种情况： 图片地址为空以及图片错误时
    dom.src = dom.src || option.value
    dom.onerror = function() {
      // 触发这个事件的时候给图片重新赋值一个地址
      // 图片地址通过使用自定义指令的时候传参  v-imagerror = "图片地址"
      // 可以通过第二个参数中的value拿到
      dom.src = option.value
    }
  },
  // inserted 是自定义指令所在DOM第一次插入节点的时候会触发，而且触发一次
  // componentUpdated钩子函数是当数据更新之后，自定义指令所在DOM需要更新的时候，不会触发inserted
  componentUpdated(dom, option) {
    dom.src = dom.src || option.value
  }
}
